package com.shunli.cterminal.model.req;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

import static com.examples.core.tool.utils.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


@Schema(description = "管理后台 - ab实验分页 Request VO")
@Data
@ToString(callSuper = true)
public class ExpReq {

    @Schema(description = "产品标示", example = "8005")
    private String appId;

    @Schema(description = "实验层id", example = "908")
    private String layerCode;

    private List<String> layerCodes;

    @Schema(description = "实验唯一标识", example = "5787")
    private String expCode;

    @Schema(description = "实验名称", example = "赵六")
    private String expName;

    @Schema(description = "实验描述", example = "实验描述")
    private String expDescription;

    @Schema(description = "实验流量")
    private Integer expRate;

    @Schema(description = "实验组数")
    private Integer expGroupCnt;

    @Schema(description = "流量对应的bucket ID，1-100，格式如1,2,3,4,5代表 5%流量")
    private String layerRateBucketIds;

    @Schema(description = "分流id类型 uid、accountId、campaignId、adId、mobile、cid、")
    private String idType;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "实验开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] startTime;

    @Schema(description = "实验结束时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] endTime;

    @Schema(description = "实验状态0=草稿 1=审核中 2=待开启 3=正常 4=暂停 5=关闭", example = "2")
    private Integer expStatus;

    @Schema(description = "场景编码", example = "5787")
    private String sceneCode;

    private List<String> sceneCodeList;

    private List<Integer> expStatusList;

    private List<Long> expIdList;


}